#include <REGX52.H>
#include "TIMER0.h"
#include "MUSIC.h"
#include "DELAY.h"

//思路分析：1、使用中断来实现固定的频率，达到特定的音色
//          2、在主函数中，采用Delay()来实现一个音拍持续的时间
//          3、在主函数中，采用Delay()来实现一个音拍暂停的时间
//方法2：
//			使得中断每1微秒进行一次
//			采用计数方法，每隔多少微秒产生一次脉冲
//			在主函数中，实现音拍的持续时间与暂停时间
//while(1)
//{
//	TR0=1;
//	Delay(500);//响500毫秒
//	TR0=0;
//	Delay(10);//暂停10毫秒
//	i++;//跳到下一个音节上
//}

sbit Buzzer=P2^5;
unsigned int i=0;
unsigned int j=1;

int main()
{
	Timer0_Init();

	while(1)
	{
		Delay(125*frequent1[j]);//声音响500毫秒,一个拍是500毫秒，半拍是250毫秒
		i+=2;
		j+=2;
		if(frequent1[i]==999)
		{
			i=0;
			j=1;
		}
		TR0=0;
		Delay(10);//每个音符间隔5毫秒
		TR0=1;
	}
	return 0;
}

void Timer0_Rountine() interrupt 1
{	
	if(frequent1[i])
	{	
		Buzzer=!Buzzer;
		TH0=frequent1[i]/256;
		TL0=frequent1[i]%256;
	}


}